Data storage systems conventionally include one or more storage processors connected to a disk array via a high-speed transmission medium, such as optical fiber. An example of a data storage system is the VNX® platform from EMC Corporation of Hopkinton, Mass.
Many data storage systems produce metrics that reflect their performance and workload. Typical metrics include the number of bytes written or read by the data storage system (i.e., the “byte count”), percent CPU consumption by the storage processor, and timing delays involved in processing reads from a disk array and writes to a disk array. Generally, one or more device drivers of the data storage system monitor and collect metrics, which are stored in a database for access by an application program, such as a program operated by a data storage administrator. Typically, the storage processor includes a software library that contains classes for performing SQL queries of the database. The software library may include a variety of classes, e.g., one class for each metric that the data storage system produces. In operation, the application program sends a command requesting metric information to a class of the software library. The class executes a SQL query on the database, post-processes the query results, and reports the post-processed query results to the application program, where the results may be presented to the data storage administrator.